AUTOSAR 入门教程(14)DEM
🚀 诊断事件管理器(DEM) 是 AUTOSAR 架构中的核心模块,负责统一管理和存储车辆电子系统中的各类诊断事件,解决分布式系统中故障信息分散、难以追踪的痛点!
🔍 DEM 核心功能与事件类型
💡 诊断事件 是指在一组测试条件下被测系统的状态(通过/失败)。监控这些条件的系统/功能被称为 诊断监视器 或 诊断功能。
DEM 处理的事件分为两种类型:
- ⚙️ BSW 事件:由基础软件通过
Dem_ReportEventStatusAPI 报告 - 💻 SW-C 事件:由应用程序通过
Dem_SetEventStatusAPI 报告
📊 事件管理与状态机制
📌 事件重要级别分类:
- ⚠️ Fault:分类为故障
- ℹ️ Occurrence:系统行为不足的信息
DEM 的四大核心处理机制:
1️⃣ 事件去抖动(Debouncing)
2️⃣ 状态判定(Qualification)
3️⃣ 确认机制(Confirmation)
4️⃣ 内存溢出指示(Overflow Indication)
💾 事件存储与数据记录
🛠 事件内存管理 流程:
- ➕ 添加新事件记录
- 🔄 更新现有事件
- ❌ 删除过期事件
📝 DEM 负责记录的关键数据:
- 🧊 冻结帧(Freeze Frame)
- 📑 扩展数据记录(Extended Data Record)
🔗 模块协作架构
🌐 DEM 与其他模块的交互:
- 📡 DCM:接收外部诊断仪请求,报告 DTC 状态
- ⏸️ FiM:根据事件状态控制功能抑制
- 💽 NVRAM:实现事件信息的永久存储
💡 关键协作流程:
- DEM 检测到事件状态变化
- 通知 功能抑制管理器(FiM)
- FiM 根据依赖关系停止/释放功能实体
- 通过 NVRAM 实现数据持久化